package cn.woniu.ecommerceplatform.service;

import cn.woniu.ecommerceplatform.entity.Goods;
import cn.woniu.ecommerceplatform.util.ResponseResult;
import com.baomidou.mybatisplus.extension.service.IService;

/**
* @author QIQI
* @description 针对表【t_goods】的数据库操作Service
* @createDate 2023-01-05 12:21:22
*/
public interface GoodsService extends IService<Goods> {
    /**
     * 批量删除商品
     * @param ids 要删除的用户id组成的数组
     * @return 统一的返回格式返回消息
     */
    ResponseResult<?> goodsDelete(Integer[] ids);

    /**
     * 修改商品信息
     * @param goods 商品信息
     * @return 统一的返回格式返回消息
     */
    ResponseResult<?> goodUpdate(Goods goods);

    /**
     * 删除单个商品
     * @param id 要删除的商品id
     * @return 统一的返回格式返回消息
     */
    ResponseResult<?> goodDelete(Integer id);

    /**
     * 新增商品
     * @param goods 新增商品信息
     * @return 统一的返回格式返回消息
     */
    ResponseResult<?> goodAdd(Goods goods);

    /**
     * 商品列表
     * @param goodName 商品名
     * @param goodCode 商品编号
     * @param shelfStatus 商品上架状态
     * @return 统一的返回格式返回消息
     */
    ResponseResult<?> goodsList(String goodName, String goodCode, Integer shelfStatus,Integer pageNum,Integer pageSize);

    /**
     * 根据id将商品上架
     * @param ids 商品id
     * @return 返回信息
     */
    ResponseResult<?> addShelf(Integer[] ids);

    /**
     * 根据id将商品批量下架
     * @param ids 商品id的数组
     * @return 返回信息
     */
    ResponseResult<?> deleteShelf(Integer[] ids);

    ResponseResult<?> queryGoods(String goodName,Integer typeId,Integer pageNum,Integer pageSize);

    /**
     * 查询积分商城商品
     * @return
     */
    ResponseResult<?> queryPG(String goodName,Integer pageNum,Integer pageSize);

    /**
     * 根据id查商品信息
     * @param id
     * @return
     */
    ResponseResult<?> queryGoodById(Integer id);

}
